home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
NEW
/
Q-Quantum Link
/
(n)q2.d64
/
bin-hex-dec
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-25
|
8KB
|
308 lines
10 REM "[195][194][205] 64 [194]INAR/[194][195][196]/[200]EX [212]UTOR VERSION 2.02
15 V[178]53280:Z0%[178][194](V):Z1%[178][194](V[170]1):Z2%[178][194](646)
20 Z3%[178]([194](V[171]8)[175]7)[176][194](657):[151]V,6:[151]V[170]1,15:[153]"LOAD"[199](8)[199](14)
25 [153][163]14)" STOPNEWNEWNEWNEWNEWNEWNEWRND":[153][163]14)" STOPCOS STOP WAITGET
30 PRINTTAB(14)" [144] [144][162][162][162][162][146][190]":PRINTTAB(14)" ":PRINTTAB(14)" "
35 PRINTTAB(14)" [144] [146][144][162]":PRINTTAB(14)" [144][187] [144] [188]":PRINTTAB(17)"[144][162][162] [144][162][187] "
40 PRINTTAB(19)" [146] [144] ":PRINTTAB(19)" [146] [144] ":PRINTTAB(16)"[144][162][162][162] [146][144][162][190] "
45 PRINTTAB(16)"[144] [172]":PRINTTAB(16)"[144][162][162][162][162][162][162][162][162]":PRINTTAB(7)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]
50 [153][163]7)" 64 PEEKINARY/PEEKLENSTR$/LEFT$EX (null)UTOR "
55 [153][163]7)"NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEW"
65 [153][163]8)"POKE((null)RESS (null)(null)ATNLENVALWAITPOKE TO CONTINUE)
70 GETA$:IFA$<>" "THEN 70
140 DIM A$(20)
150 A$="0123456789ABCDEF":CD$="
160 [129]X[178]0[164]15:A$(X)[178][202](A$,X[170]1,1):[130]:X[178]0
165 [151]VC,9:[151]VC[170]1,15
170 [153]"LOAD":A[178]0
180 [153][163]17)"(null)ENUCMDCMDCMDCMDUSRUSRUSRUSR"
190 [153][163]9)"STR$EC,PEEKIN & PEEKLENSTR$.....POKEPEEK"
200 [153][163]9)"STR$EC,PEEKIN & LEFT$EX.....POKELEFT$"
210 [153][163]9)"VALXERCISES.........POKEVAL"
215 [153][163]9)"VALXIT..............POKE(null)"
218 [153][163]7)"POSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOS
220 PRINTTAB(7)" [212]YPE IN [195]HOICE [210]EQUIRED [155][146]<"
222 PRINTTAB(7)"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][145][144]";
224 VM=1024:VX=VM+999:CM=55296:CX=CM+999
230 POKEVM,240:POKECM,8:POKEVX,253:POKECX,8
240 FORX=1TO23:POKEVM+40*X,221:POKECM+40*X,8:POKEVX-40*X,221:POKECX-40*X,8
250 NEXT:POKEVM+39,238:POKECM+39,8:POKEVX-39,237:POKECX-39,8:FORX=1TO38
260 POKEVM+39-X,192:POKECM+39-X,8:POKEVX-39+X,192:POKECX-39+X,8:NEXT
270 GOSUB3200:B$=Z$
278 POKEVC,9:POKE646,6
280 IFB$="H"ANDA=1THEN370
290 IFB$="B"ANDA=1THEN340
300 IFB$="H"ORB$="B"THEN420
305 POKEVC,10:POKE646,2
310 IFB$="E"THEN1860
315 IFB$<>"X"THEN270
317 POKEV,Z0%:POKEV+1,Z1%:POKEV+2,Z2%:POKEV-8,PEEK(V-8)AND248ORZ3%AND7:POKE657,Z3%AND128
319 PRINT"[147]";:END
330 GOSUB910:GOSUB1510:GOSUB3400
340 GOSUB1010:GOSUB1620:GOSUB1310:GOSUB1760
350 GOTO380
360 GOSUB910:GOSUB1110:GOSUB3400
370 GOSUB1010:GOSUB1210:GOSUB1310:GOSUB1410
380 POKE198,0
390 GOSUB3200:A$=Z$:IFA$=CHR$(13)THEN150
410 GOTO280
420 PRINT"[147]":X$="255":IFB$="B"THENX$="99"
430 PRINT" [193]T WHAT VALUE (1 TO ";X$;")[146] DO YOU WISH"
440 INPUT " TO START";ZZ
450 IFZZ=0THEN430
460 IFZZ>255THEN540
470 IFZZ>99ANDB$="B"THEN540
480 D=ZZ-1:F=3:GOSUB630:GOSUB2030
490 GOSUB2200:FORX=1TO8:C(X)=B(X):NEXT
500 GOSUB2110
510 IFB$="B"THEN330
520 IFB$="H"THEN360
540 PRINT"[206]UMBER TOO LARGE - PLEASE ";
550 PRINT"RE-ENTER.":GOTO430
560 PRINTLEFT$(CD$,11)TAB(15)"SORRY, WRONG!
570 [153][163]15)"PLEASE TRY AGAIN"
580 [129]X[178]1[164]2000:[130]:[137]1980
590 [153][200](CD$,11)[163]8)"WELL DONE! THATS RIGHT!
600 PRINT" NOW TRY ANOTHER ONE.
610 [129]X[178]1[164]2000:[130]:[137]1910
620 [143]** D TO D$ ROUTINE **
630 D$[178][196](D)
640 D$[178][201](D$,[195](D$)[171]1)
650 D$[178][201]("00000000"[170]D$,F)
660 [129]X[178]F[164]1[169][171]1
670 D(X)[178][197]([202](D$,X,1))
680 [130]:[142]
690 [151]VM[170]647,111:[151]VM[170]648,111:[151]VM[170]649,111
700 [151]VM[170]767,76
710 [151]VM[170]768,111:[151]VM[170]769,111:[151]VM[170]686,103
720 [151]VM[170]687,79
730 [151]VM[170]726,103:[151]VM[170]727,101:[151]VM[170]766,103
740 [151]VM[170]809,119
750 [151]VM[170]688,119:[151]VM[170]689,119:[151]VM[170]807,119
760 [151]VM[170]808,119
770 [129]X[178]1[164]10:[151]VM[170]728,131:[129]XX[178]1[164]255:[130]
780 [151]VM[170]728,3
790 [129]XX[178]1[164]255:[130]:[130]:[142]
800 [151]VM[170]407,111:[151]VM[170]408,111:[151]VM[170]409,111
810 [151]VM[170]527,76
820 [151]VM[170]528,111:[151]VM[170]529,111:[151]VM[170]446,103
830 [151]VM[170]447,79
840 [151]VM[170]486,103:[151]VM[170]487,101:[151]VM[170]526,103
850 [151]VM[170]569,119
860 [151]VM[170]448,119:[151]VM[170]449,119:[151]VM[170]567,119
870 [151]VM[170]568,119
880 [129]X[178]1[164]10:[151]VM[170]488,131:[129]XX[178]1[164]255:[130]
890 [151]VM[170]488,3
900 [129]XX[178]1[164]255:[130]:[130]:[142]
910 [153]"LOADRETURN (null)USRUSR(null)USRUSR(null)USRUSRFN":A[178]1
920 [153]" DEC FN CLOSEFN CLOSEFN CLOSEFN
930 PRINTTAB(6)" [204][175][175][204][175][175][204][175][175][165]
940 [153][163]6)" (null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSRFN"
950 [153]" BIN FN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN"
960 [153][163]6)" (null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDANDFN"
961 [153][163]6)" 128 64 32 16 8 4 2 1 "
970 [142]
1000 [143]** ROUTINE #2 **
1010 [129]X[178]3[164]1[169][171]1
1020 [139]D(X)[178]9[167]D(X)[178]0:[130]
1030 [139]X[178]0[167]1050
1040 D(X)[178]D(X)[170]1:X[178]0:[130]
1050 [129]X[178]8[164]1[169][171]1
1060 [139]B(X)[178]1[167]B(X)[178]0:[130]
1070 [139]X[178]0[167][142]
1080 B(X)[178]B(X)[170]1:X[178]0:[130]
1090 [142]
1100 [143]** ROUTINE #3 **
1110 [153]"RETURN (null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSRFN
1120 PRINT" HEX [165] [160][165] [160][165] [160][165] [160][165][160][160]
1130 [153][163]6)" (null)ANDAND(null)ANDAND(null)ANDAND(null)ANDANDFN
1140 RETURN
1200 REM** ROUTINE #4 **
1210 FORX=4TO1STEP-1
1220 IFH(X)=15THENH$(X)="0":H(X)=0:NEXT
1230 IFX=0THENRETURN
1240 H(X)=H(X)+1:H$(X)=A$(H(X)+1):X=0:NEXT
1250 RETURN
1300 REM** ROUTINE #5 **
1310 FORX=1TO3
1320 POKE(VM+248+(X*3)),D(X)+48:NEXT
1330 FORX=1TO8
1340 POKEVM+488+X*3,B(X)+48:NEXT
1350 IFD(1)=2ANDD(2)=5ANDD(3)=6THENGOSUB800
1360 RETURN
1400 REM** ROUTINE #6 **
1410 FORX=1TO4
1420 IFH(X)>9THEN1460
1430 POKEVM+728+X*3,H(X)+48
1440 NEXT
1450 GOTO1310
1460 POKEVM+728+X*3,H(X)-9:NEXT
1470 RETURN
1500 REM** ROUTINE #7 **
1510 PRINT"[142]";
1520 PRINTTAB(6)"[142] [207][183][183][207][183][183][207][183][183][207][183][208][207][183][183][207][183][183][207][183][183][207][183][183][165]"
1530 PRINT" BCD [165] [160][165] [160][165] [160][165] [167][165] [160][165] [160][165] [160][165] [160][165]"
1540 PRINTTAB(6)" [204][175][175][204][175][175][204][175][175][204][175][186][204][175][175][204][175][175][204][175][175][204][175][175][165]"
1550 RETURN
1610 REM** ROUTINE #8 **
1620 IFC(5)=1ANDC(8)=1THENC(5)=0:C(8)=0:GOTO1680
1630 FORX=8TO4STEP-1
1640 IFC(X)=1THENC(X)=0:NEXT
1650 IFX<5THENRETURN
1660 C(X)=C(X)+1:X=0:NEXT:RETURN
1670 GOTO1690
1680 IFC(1)=1ANDC(4)=1THEN1740
1690 FORX=4TO0STEP-1
1700 IFC(X)=1THENC(X)=0:NEXT
1710 IFX=0THENRETURN
1720 C(X)=C(X)+1:X=0:NEXT:RETURN
1730 RETURN
1740 FORX=1TO8:C(X)=0:NEXT:RETURN
1750 REM** ROUTINE #9 **
1760 FORX=1TO8
1770 POKEVM+728+X*3,C(X)+48:NEXT
1780 IFD(1)=1ANDD(2)=0ANDD(3)=0THENGOSUB690
1790 RETURN
1850 REM** ROUTINE #10 **
1860 PRINTLEFT$(CD$,10)
1870 PRINTTAB(5)"[196]EC TO [200]EX..1 [200]EX TO [196]EC..4"
1880 PRINTTAB(5)"[196]EC TO [194]IN..2 [194]IN TO [196]EC..5"
1890 PRINTTAB(5)"[196]EC TO [194][195][196]..3 [194][195][196] TO [196]EC..6"
1895 PRINTTAB(9)"[197]XIT..............[216]";
1900 GOSUB3200:B$=Z$
1905 IFB$="X"THEN160
1910 D=VAL(B$):IFD=0THEN1900
1920 IFD=1ORD=4THENF=4-(D>3):D=1024
1930 IFD=2ORD=5THENF=8+(D>3):D=255
1940 IFD=3ORD=6THENF=8+(D>3):D=99
1960 IFD<10THEN1900
1970 D=INT(D*(RND(0)))
1980 ONVAL(B$)GOTO2000,2010,2020,2480,2610,2680
1990 GOTO1900
2000 GOSUB2030:GOTO2310
2010 GOSUB2110:GOTO2310
2020 GOSUB2200:GOTO2310
2030 H(1)=INT(D/4096)
2040 H(2)=INT((D-H(1)*4096)/256)
2050 H(3)=INT((D-(H(1)*4096)-(H(2)*256))/16)
2060 H(4)=D-(H(1)*4096)-(H(2)*256)-(H(3)*16)
2070 H$(1)=A$(H(1)):H$(2)=A$(H(2))
2080 H$(3)=A$(H(3)):H$(4)=A$(H(4))
2090 H$(5)=H$(1)+H$(2)+H$(3)+H$(4)
2100 RETURN
2110 B(1)=INT(D/128):D1=B(1)*128
2120 B(2)=INT((D-D1)/64):D2=D1+B(2)*64
2130 B(3)=INT((D-D2)/32):D3=D2+B(3)*32
2140 B(4)=INT((D-D3)/16):D4=D3+B(4)*16
2150 B(5)=INT((D-D4)/8):D5=D4+B(5)*8
2160 B(6)=INT((D-D5)/4):D6=D5+B(6)*4
2170 B(7)=INT((D-D6)/2):D7=D6+B(7)*2
2180 B(8)=INT((D-D7)):D8=D6+B(8)
2190 RETURN
2200 D1=INT(D/10)
2210 D2=D-D1*10
2220 B(1)=INT(D1/8):E1=B(1)*8
2230 B(2)=INT((D1-E1)/4):E2=E1+B(2)*4
2240 B(3)=INT((D1-E2)/2):E3=E2+B(3)*2
2250 B(4)=INT(D1-E3)
2260 B(5)=INT(D2/8):E5=B(5)*8
2270 B(6)=INT((D2-E5)/4):E6=E5+B(6)*4
2280 B(7)=INT((D2-E6)/2):E7=E6+B(7)*2
2290 B(8)=INT(D2-E7)
2300 RETURN
2310 GOSUB2320:GOTO2370
2320 PRINT"[147]";
2330 PRINTTAB(6)"[142] [207][183][183][207][183][183][207][183][183][207][183][183][207][183][183][165]":A=1
2340 PRINT" DEC [165][160][160][165][160][160][165][160][160][165][160][160][165][160][160][165]
2350 [153][163]6)" (null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDANDFN
2360 GOSUB3300:RETURN
2370 ZF=F:F=5:GOSUB630:F=ZF
2380 FORX=5TO1STEP-1:POKEVM+248+(X*3),D(X)+48
2390 NEXT
2400 GOSUB2750
2410 IFVAL(B$)<>1THEN 560
2420 FORX=0TO3
2430 IFC$(X)<>H$(X+1)THEN560
2440 NEXT:GOTO590
2460 FORX=1TO8:IFVAL(C$(X-1))<>B(X)THEN560
2470 NEXT:GOTO590
2480 PRINT"[147]";
2490 GOSUB3050
2500 F=5:GOSUB630:GOSUB2030
2510 FORX=1TO4
2520 FORY=0TO15:IFH$(X)<>A$(Y)THENNEXT:GOTO2540
2530 H(X)=Y:Y=15:NEXT:Y=H(X)
2540 IFY<10THENY=Y+48:GOTO2560
2550 IFY>9THENY=Y-9
2560 H(X)=Y
2570 POKEVM+248+(X*3),H(X):NEXT:GOSUB2750
2580 FORX=1TO5
2590 IFVAL(C$(X-1))<>D(X)THEN560
2600 NEXT:GOTO590
2610 PRINT"[147]";
2620 GOSUB3100
2630 F=5:GOSUB630:GOSUB2110
2640 FORX=1TO8
2650 B1(X)=B(X):B1(X)=B1(X)+48
2660 POKEVM+248+(X*3),B1(X):NEXT
2670 GOSUB2750:GOTO2580
2680 PRINT"[147]";
2690 GOSUB1520
2700 F=5:GOSUB630:GOSUB2200
2710 FORX=1TO8
2720 B1(X)=B(X):B1(X)=B1(X)+48
2730 POKEVM+248+(X*3),B1(X):NEXT
2740 GOSUB2750:GOTO2580
2750 GOSUB3010
2760 Y=0
2770 FORX=1TO35:GETC$(Y):IFC$(Y)=""THENNEXT
2780 POKEVM+611+(Y*3),160
2790 IFC$(Y)<>""THEN2840
2800 FORX=1TO35:GETC$(Y):IFC$(Y)=""THENNEXT
2810 IFC$(Y)<>""THEN2840
2820 POKEVM+611+(Y*3),32:POKEVM+614+(Y*3),32
2830 GOTO2770
2840 IFC$(Y)=CHR$(13)THEN160
2850 IFC$(Y)=" "ANDY>0THENY=Y-1:GOTO2800
2860 ONVAL(B$)GOTO2900,2930,2930,2870,2870,2870
2870 IFC$(Y)="0"THEN2950
2880 IFVAL(C$(Y))=0THEN2990
2890 GOTO2950
2900 FORX=0TO15:IFC$(Y)=A$(X)THENX=20
2910 NEXT:IFX<20THEN2990
2920 GOTO2950
2930 IFC$(Y)="1"ORC$(Y)="0"THEN2950
2940 GOTO2990
2950 Y=Y+1:PRINTLEFT$(CD$,16)TAB(8);
2960 FORX=1TOY*3:PRINT"";:NEXT:PRINTC$(Y-1)
2970 IFY=FTHENRETURN
2980 L=VM+611+(Y*3)
2990 IFPEEK(L)>127THENPOKEL,PEEK(L)-128
3000 GOTO2770
3010 PRINTLEFT$(CD$,15);
3020 IFB$="2"THEN3100
3030 IFB$="3"THEN3140
3040 IFB$>"3"THEN3090
3050 PRINTTAB(6)"[142] [207][183][183][207][183][183][207][183][183][207][183][183][165]
3060 [153]" HEX FN FNCLOSECLOSEFNCLOSECLOSEFNCLOSECLOSEFNCLOSE
3070 PRINTTAB(6)" [204][175][175][204][175][175][204][175][175][204][175][175][165]
3080 [142]
3090 [141]2330:[142]
3100 [153][163]6)"RETURN (null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSRFN"
3110 [153]" BIN FN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN"
3120 [153][163]6)" (null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDANDFN"
3130 [142]
3140 [141]1520:[142]
3200 [151]198,0:[151]204,0
3210 [146]198,1:[161]Z$
3220 [146]207,1,1:[151]204,1
3230 Z$[178][199]([198](Z$[170][199](0))[175]127):[142]
3300 [153][200](CD$,22)" NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAIT"
3310 [153]" SPACE TO ERASE, RETURN TO ABANDON "
3320 [153]" NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAITON";
3330 [142]
3400 [153][200](CD$,22)" NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAIT"
3410 [153]" SPACE TO INDEX, RETURN TO ABANDON "
3420 [153]" NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAITON";
3430 [142]